// sku的小仓库

// 引入发送请求的函数
import { reqGetDetail,reqAddShopcar } from '@/api'
// 引入游客零时身份的uuid函数,生成一个随机字符串
import {getUUID} from "@/utils/uuid_token.js"
// 仓库存储数据的地方
const state = {
  detailList: {},
  // 游客零时身份
  uuid_token:getUUID()
}

// 修改数据的地方
const mutations = {
  DETAILLIST(state, detai) {
    state.detailList = detai
  }
}


const actions = {
  // 获取产品信息
  async getDetailList({ commit }, skuid) {
    let result = await reqGetDetail(skuid)
    if (result.code == 200) {
      commit('DETAILLIST', result.data)
    }
  },
  // 加入购物车||修改某一个商品的个数
  async addOrUpdateShopcar(){
    let {skuId,skuNum} = arguments[1]
    
    let result = await reqAddShopcar(skuId,skuNum)
    if(result.code==200){
      return result
    }else{
      return Promise.reject(new Error('faile'))
    }
  }
}

// 计算属性
const getters = {
  // 分类导航
  categoryView(){
    return state.detailList.categoryView || []
  },
  // 商品信息
  skuInfo(){
    return state.detailList.skuInfo || []
  },
  // 售卖属性
  spuSaleAttrList(){
    return state.detailList.spuSaleAttrList || []
  }
}

// 导出接口
export default {
  state,
  mutations,
  actions,
  getters
}